<?php

require_once './application/controllers/ControllerBase.php';
require_once './application/core/CoreBase.php';
require_once './application/core/Connexion/execCore.php';
require_once './application/core/Connexion/ConnexionCore.php';
require_once './application/models/Objets/Utilisateur.php';
require_once './application/models/Objets/Composant.php';

// Gestion des connections / deconnections utilisateurs
class ConnexionController extends ControllerBase
{

    private $_obj;

    function indexAction()
    {
        $this->renderTabControl();
    }

    function connexionAction()
    {
        $core = new ExecCore($this);
        $isConnect = $core->Execute();
        $this->view->isConnect = $isConnect;
    }

    function getconnexionAction()
    {
        $this->noRender();
        $c = new ConnexionCore($this);
        if ($c->getConnexion())
        {
            $this->isConnect = true;
            $this->_redirector->gotoUrl('/');
        } else
        {
            $this->isConnect = false;
            $this->_redirector->gotoUrl('/connexion/');
        }
    }

    function killusersessionAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->isConnect = false;
        $c = new ConnexionCore($this);
        $c->killUserSession();
    }

    function adduserAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->addUser();
    }

    function deluserAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->delUser();
    }

    function updateuserAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->updateUser();
    }

    function getinfoutilisateurAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->InfoUser();
    }

    function getutilisateurAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->listUser();
    }

    function getlistlangAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->makeListLang(true);
    }

    function getlistdroitsAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->listDroits();
    }

    function deldescdroitAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->delListDroit();
    }

    function getinfodroitAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->infoDroit();
    }

    function getinfodroitutilisateurAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->infoDroitUtilisateur();
    }

    function getnetworkAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->infoNetwork();
    }

    function updatenetworkAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->updateNetwork();
    }

    function delnetworkAction()
    {
        $this->verifConnexion();
        $this->noRender();
        $this->_obj = new ConnexionCore($this);
        $this->_obj->delNetwork();
    }

}
